The computer and computer related industries have benefitted from a rapidly increasing availability of data processing functions. Along with this benefit comes the problem of how to present the great number and variety of available functions to the interactive operator or user in display interfaces which are relatively easy to use. In recent years, the hierarchical tree has been a widely used expedient for helping the user to keep track of and organize the operative and available functions. In typical tree structures, such as those in Microsoft Windows 95.TM. and IBM Lotus.TM. systems, there is presented on the display screen, a variety of available functions and resources in tree hierarchies with classes and subclasses of functions and resources displayed as elements or objects at nodes or junctions in the tree in a descending and widening order based upon some kind of derivation from the next higher class or subclass. In conventional tree displays, it is customary to show the tree on one region of the screen and to permit the user to interactively select any object on the screen for an expanded view, i.e. a detail view showing attributes or properties of the child objects of the selected object. Such child objects may be said to be derived or comprehended by the selected or parent object. This detail view is customarily displayed in a second region of the screen which is separate from the tree view. In relatively simple tree structures where all of the child objects are of the same type or subclass, the customary interface is sufficient. The attributes of the subclass may be listed as headings and the attribute values of each child object may be set forth under the respective headings. For example, if the parent object in a tree is a folder and all of the child objects are files in the parent folder, then all of the child objects are of the same type and the common attributes of such files may be listed in the separate detail region of the display screen.
However with the great increase of functions available in computers, it is not unusual for display trees to contain at least some objects which have child objects of different types. For example, a queue object may contain both printers and print jobs waiting for allocation to printers; or an object representing a priority function may have files and folders at the same priority level. In such situations where the child objects are of mixed types or subclasses, the customary expanded views of child objects in a detail view region of the screen become relatively inappropriate and cumbersome. Setting forth attributes of such a "mixed bag" of child objects tends to confuse the interactive user at best.
It should also be noted that the tree hierarchical structure is one of the primary organizational expedients in the object oriented programming processes which have become more prevalent over the past decade. In object oriented programming systems, there are many implementations in which there are hierarchies of child objects in subclasses of parent object classes wherein the child objects inherit at least some attributes of the parent objects. The present invention may be advantageously used with such tree hierarchies. Parent objects which contain child objects of different types are referred to as container objects. Setting forth the attributes of such container classes of objects of mixed types also tend to confuse interactive users.
Before proceeding with the description of the invention, it is important that we clarify the terminology used in describing the present invention with respect to terminology used in the art. The typical tree structure used in interactive displays has a plurality of levels of nodes at which elements are displayed. Such elements may be in text or icon form. The elements each represent a function or resource of the system or program which is to be interactively accessed through the displayed tree. It is customary to refer to these displayed elements as objects so as to conveniently use the terms child objects or parent objects in describing various hierarchical relationships between objects. It should be understood that in object oriented programming, the term object is, of course, extensively used to represent the basic program units. Thus, it may sometimes be the case that the object in a displayed tree does represent an object in an object oriented program. However, since trees of displayed objects are used to interface with many systems not involving object oriented programming, the use of the word object is not intended to limit the description or claim to object oriented applications. The terms object and elements as used in the claims should be considered as substantially equivalent.